package cn.iocoder.yudao.module.scrm.annotations;


import cn.iocoder.yudao.module.scrm.enums.common.CrmBizTypeEnum;
import cn.iocoder.yudao.module.scrm.enums.util.FieldNameType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;

/**
 * 自定义注解类处理器
 * 比较a表中x字段值是否大于b表中y字段值
 *
 * @Author LiZhiMin
 * @Date 2024/8/21 12:18
 */

@Retention(RetentionPolicy.RUNTIME)// 指定注解的生命周期是运行时
@Target({ElementType.PARAMETER, ElementType.FIELD, ElementType.TYPE, ElementType.METHOD})// 指定注解可以使用的位置
public @interface FieldCompareValidator {

    /**
     * 默认错误提示信息
     */
    String message() default "金额不能大于订单总金额！";


    /**
     * 要查询的外键表的类型  {@link CrmBizTypeEnum#getType()}
     */
    CrmBizTypeEnum majorJeyType() default CrmBizTypeEnum.CRM_ORDER;

    /**
     * 要查询的外键表的字段名字
     */
    FieldNameType majorJeyFieldName() default FieldNameType.SCRM_ORDER_TOTAL_MONEY;


}
